
#include "ENOilTankGroupHeatFluxBC.h"
#include "libmesh/meshfree_interpolation.h"
#include "libmesh/system.h"
#include "libmesh/radial_basis_interpolation.h"

using namespace std;

registerMooseObject("RoshanApp", ENOilTankGroupHeatFluxBC);

template<>
InputParameters validParams<ENOilTankGroupHeatFluxBC>()
{
	InputParameters params = validParams<IntegratedBC>();
	return params;
}

ENOilTankGroupHeatFluxBC::ENOilTankGroupHeatFluxBC(const InputParameters & parameters) :
	IntegratedBC(parameters),
	_flux(getMaterialProperty<Real>("ENOilTankgroup_heat_flux")),
	_flux_jacobi(getMaterialProperty<Real>("ENOilTankgroup_heat_flux_jacobi"))
{
}

Real ENOilTankGroupHeatFluxBC::computeQpResidual()
{
	Real flux = _flux[_qp];
	return -_test[_i][_qp]*flux;
}

Real ENOilTankGroupHeatFluxBC::computeQpJacobian()
{
	Real jacobi = _flux_jacobi[_qp];
	return -_test[_i][_qp]*_phi[_j][_qp]*jacobi;
}


